# 修正代码，确保只在找到特殊字符时输出其前后30个字符的上下文
def print_context_of_special_chars_corrected(file_path):
    """
    读取文件，如果文字不是大写字母、数字或空格，
    则输出它前后30个字符的上下文。
    """
    # 匹配大写字母、数字或空格以外的字符
    pattern = re.compile('[^A-Z0-9 ]')

    with open(file_path, 'r') as file:
        text = file.read()

    matches = pattern.finditer(text)

    for match in matches:
        start = max(0, match.start() - 30)  # 获取前30个字符的起始位置，确保不会是负数
        end = match.end() + 30  # 获取后30个字符的结束位置
        context = text[start:end]  # 提取上下文
        print(context)

# 再次调用修改后的函数
print_context_of_special_chars_corrected(example_path)
